package com.jd.dlc.annotation;

import java.lang.annotation.*;

/**
 * @ClassName: GuavaLimiterAnnotation
 * @Description:
 * @Author: MengXiangXin
 * @Date: 2022/5/9 10:07 PM
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
@Documented
public @interface DlcLimiter {

    String namespace() default "";

    /**
     * qps
     * @return
     */
    long limit() default Integer.MAX_VALUE;

    /**
     * Timeout for getting token
     */
    long timeOut() default 0;

    /**
     * Lock fine-grained control key example sku
     *
     * @return
     */
    String key() default "";

    /**
     * 回调
     * @return
     */
    String limiterBacker() default "defaultBacker";


}
